#include "order_processdatabase.h"

Order_ProcessDataBase::Order_ProcessDataBase(QObject *parent)
    : QObject{parent}
{}

bool Order_ProcessDataBase::connectToDataBase(QSqlDatabase *Db)
{
    if(!Db->open())
    {
        qDebug()<<"Cpp:连接 排料加工数据库 失败 ";
        return false;
    }
    else
    {
        qDebug()<<"Cpp:连接 排料加工数据库 成功 ";
        return true;
    }
}

bool Order_ProcessDataBase::execSql(const QString &sql)
{
    QSqlDatabase* Db = SQLITE_Pool::getInstance()->get_Order_Process_DataBase();
    if(!Db)
    {
        return false;
    }
    if(!Db->isOpen())
    {
        if(!connectToDataBase(Db))
            return NULL;
    }

    QSqlQuery query(*Db);

    bool ok = query.exec(sql);
    if(!ok)
    {
        qDebug()<<"Cpp:execSql->lastError():"<<query.lastError();
    }

    return ok;
}

QSqlQuery *Order_ProcessDataBase::execSql_result(const QString &sql)
{
    QSqlDatabase* Db = SQLITE_Pool::getInstance()->get_Order_Process_DataBase();
    if(!Db)
    {
        return NULL;
    }

    QSqlQuery* query = new QSqlQuery(*Db);
    if(!Db->isOpen())
    {
        if(!connectToDataBase(Db))
        {
            return NULL;
        }
    }
    // 查询
    if(query->exec(sql))
    {
        return query;
    }
    else
    {
        qDebug()<<"Cpp:execSql_result->lastError():"<<query->lastError();
    }

    return NULL;
}
